﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DapperExtensions.Mapper;
using ZLWeb.WebApiEntityBase;

namespace ZLWeb.WebApiEntity.WechatCardModel
{
    public class OprInfo : ResponseResultInfo
    {
        /// <summary>
        ///  操作事件类型：1-开户(首充) 2-充值 3-消费 8-退消费 10-送积分 13-撤销送积分 11-积分兑换 14-撤销积分兑换 12-过期红包回收 15-余额调增 16-余额调减  17-积分调增 18-积分调减
        ///(注意：操作事件说明由redis缓存提供)
        /// </summary>
        public short oprtype { get; set; }

        /// <summary>
        ///  本地业务生效时间(自然时间)
        /// </summary>
        public DateTime? oprtime { get; set; }

        /// <summary>
        ///  发生地点id(分支机构)
        /// </summary>
        public int oprbrid { get; set; }

        /// <summary>
        ///  发生地点名称(分支机构)
        /// </summary>
        public string oprbrname { get; set; }

        /// <summary>
        ///  余额变动：现金钱包变动+增值钱包变动（含红包）（+增加 -扣减）
        ///积分变动（可兑+不可兑）（增加为“+”，减少为"-"）
        /// </summary>
        public decimal oprsum { get; set; }

        /// <summary>
        ///  变动后余额：现金+增值（含红包）
        /// 变动后积分：积分（可兑+不可兑）
        /// </summary>
        public decimal opraftsum { get; set; }

        /// <summary>
        ///  操作事件
        ///  </summary>
        public string oprtypesm { get; set; }


    }

    public class OprInfoMapper : ClassMapper<OprInfo>
    {
        public OprInfoMapper()
        {
            Table("#OprInfo");
            Map(f => f.oprtype).Column("oprtype");
            Map(f => f.oprtime).Column("oprtime");
            Map(f => f.oprbrid).Column("oprbrid");
            Map(f => f.oprbrname).Column("oprbrname");
            Map(f => f.oprsum).Column("oprsum");
            Map(f => f.opraftsum).Column("opraftsum");
        }
    }
}
